package cn.com.shopec.erp.financing.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name = "TBL_SUPPLIER_SETTLEMENT")
public class SupplierSettlement implements java.io.Serializable {

	private static final long serialVersionUID = -4820282228060497270L;
	/** 主键ID **/
	private String settlementId;
	/** 结算单据号 **/
	private String settlementNo;
	/** 供应商编号 **/
	private String supplierNo;
	/** 供应商名称 **/
	private String supplierName;
	/** 结算总金额 **/
	private BigDecimal settlementTotal;
	/** 实际结算金额 **/
	private BigDecimal actTotal;
	/** 扣点 **/
	private String pointPercentage;
	/** 优惠 **/
	private BigDecimal preferentPrice;
	/** 结算开始日期 **/
	private Date startDate;
	/** 结算结束日期 **/
	private Date endDate;
	/** 结算周期 **/
	private String accountTime;
	/** 结算时间 **/
	private Date settlementTime;
	/** 结算状态 0:未结算1:已结算 **/
	private int settlementState;
	/** 结算人 **/
	private String settlementName;
	/** 审核时间 **/
	private Date checkTime;
	/** 审核人 **/
	private String checkName;
	/** 审核状态 0:待审核1:已审核2审核不通过 **/
	private int checkState;
	/** 作废状态 0:正常1:作废 **/
	private int cancelState;
	/** 删除标志 0:否1:已删除 **/
	private int deleteFlag;
	/** 创建开始时间 **/
	private Date createTime;
	/** 修改时间 **/
	private Date updateTime;
	/** 操作人 **/
	private String operatorId;

	public SupplierSettlement() {
	}

	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "settlement_id", unique = true, nullable = false, length = 32)
	public String getSettlementId() {
		return settlementId;
	}

	public void setSettlementId(String settlementId) {
		this.settlementId = settlementId;
	}

	@Column(name = "settlement_no")
	public String getSettlementNo() {
		return settlementNo;
	}

	public void setSettlementNo(String settlementNo) {
		this.settlementNo = settlementNo;
	}

	@Column(name = "supplier_no")
	public String getSupplierNo() {
		return supplierNo;
	}

	public void setSupplierNo(String supplierNo) {
		this.supplierNo = supplierNo;
	}

	@Column(name = "supplier_name")
	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}

	@Column(name = "settlement_total")
	public BigDecimal getSettlementTotal() {
		return settlementTotal;
	}

	public void setSettlementTotal(BigDecimal settlementTotal) {
		this.settlementTotal = settlementTotal;
	}

	@Column(name = "act_total")
	public BigDecimal getActTotal() {
		return actTotal;
	}

	public void setActTotal(BigDecimal actTotal) {
		this.actTotal = actTotal;
	}

	@Column(name = "point_percentage")
	public String getPointPercentage() {
		return pointPercentage;
	}

	public void setPointPercentage(String pointPercentage) {
		this.pointPercentage = pointPercentage;
	}

	@Column(name = "preferent_price")
	public BigDecimal getPreferentPrice() {
		return preferentPrice;
	}

	public void setPreferentPrice(BigDecimal preferentPrice) {
		this.preferentPrice = preferentPrice;
	}

	@Column(name = "start_date")
	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	@Column(name = "end_date")
	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	@Column(name = "account_time")
	public String getAccountTime() {
		return accountTime;
	}

	public void setAccountTime(String accountTime) {
		this.accountTime = accountTime;
	}

	@Column(name = "settlement_time")
	public Date getSettlementTime() {
		return settlementTime;
	}

	public void setSettlementTime(Date settlementTime) {
		this.settlementTime = settlementTime;
	}

	@Column(name = "settlement_state")
	public int getSettlementState() {
		return settlementState;
	}

	public void setSettlementState(int settlementState) {
		this.settlementState = settlementState;
	}

	@Column(name = "settlement_name")
	public String getSettlementName() {
		return settlementName;
	}

	public void setSettlementName(String settlementName) {
		this.settlementName = settlementName;
	}

	@Column(name = "check_time")
	public Date getCheckTime() {
		return checkTime;
	}

	public void setCheckTime(Date checkTime) {
		this.checkTime = checkTime;
	}

	@Column(name = "check_name")
	public String getCheckName() {
		return checkName;
	}

	public void setCheckName(String checkName) {
		this.checkName = checkName;
	}

	@Column(name = "check_state")
	public int getCheckState() {
		return checkState;
	}

	public void setCheckState(int checkState) {
		this.checkState = checkState;
	}

	@Column(name = "cancel_state")
	public int getCancelState() {
		return cancelState;
	}

	public void setCancelState(int cancelState) {
		this.cancelState = cancelState;
	}

	@Column(name = "delete_flag")
	public int getDeleteFlag() {
		return deleteFlag;
	}

	public void setDeleteFlag(int deleteFlag) {
		this.deleteFlag = deleteFlag;
	}
	
	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "update_time")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Column(name = "operator_id")
	public String getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(String operatorId) {
		this.operatorId = operatorId;
	}

}